/*
 * @Author: suxunying
 * @desc: 
 * @Date: 2021-07-26 09:55:57
 * @LastEditors: suxunying
 * @LastEditTime: 2021-07-26 09:57:03
 * @FilePath: \bmp-poc\micro\vue.config.js
 */

const APP_NAME = require('./package.json').name;
const path = require("path");

const IS_DEV = process.env.NODE_ENV === 'development';

module.exports = {
  devServer: {
    // 监听端口
    port: 8888,
    // 关闭主机检查，使微应用可以被 fetch
    disableHostCheck: true,
    // 配置跨域请求头，解决开发环境的跨域问题
    headers: {
      "Access-Control-Allow-Origin": "*",
    },
  },
  configureWebpack: {
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "src"),
      },
    },
    output: {
      // 微应用的包名，这里与主应用中注册的微应用名称一致
      library: APP_NAME,
      // 将你的 library 暴露为所有的模块定义下都可运行的方式
      libraryTarget: "umd",
      // 按需加载相关，设置为 webpackJsonp_微应用名称 即可
      jsonpFunction: `webpackJsonp_${APP_NAME}`,
    },
  },

  // chainWebpack: (config) => {
  //   config.externals({
  //     'vue': 'Vue',
  //     'vue-router': 'VueRouter',
  //     'vuex': 'Vuex',
  //     'axios': 'axios',
  //   });

  //   config.plugin('html')
  //     .tap(args => {

  //       args[0].cdn = {
  //         js: [
  //           `https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue${ IS_DEV ? '' : '.min'}.js`,
  //           'https://cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js',
  //           'https://cdn.jsdelivr.net/npm/vuex@3.6.2/dist/vuex.min.js',
  //           'https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js'
  //         ]
  //       }

  //       return args
  //     })
  // },
  // 变量和mixin能在每个Vue文件中访问到
};